package com.hzhc.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hzhc.entity.CntrImgFile;
import com.hzhc.entity.YwOrderCntr;
import com.hzhc.utils.ResultUtil;
import com.hzhc.vo.YwOrderCntrVo;
import com.hzhc.vo.YwOrderSgjVo;
import com.hzhc.vo.YwOrderShipVo;
import com.hzhc.vo.YwOrderVo;
import org.apache.poi.ss.formula.functions.T;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;

/**
 * <p>
 * 箱明细 服务类
 * </p>
 *
 * @author Fchenxu
 * @since 2024-05-27
 */
public interface YwOrderCntrService extends IService<YwOrderCntr> {

    ResultUtil<List<YwOrderCntrVo>> cntrUpload(String orderNo,MultipartFile file);
    ResultUtil<List<YwOrderCntrVo>> cntrUpload(String orderNo,String type,MultipartFile file);

    ResultUtil<T> importCntrList(HttpServletRequest request, Long id, List<YwOrderCntr> list);

    List<YwOrderCntr> getCntrList(Page<YwOrderCntrVo> page, YwOrderCntrVo vo);

    List<YwOrderCntrVo> getCntr(Page<YwOrderCntrVo> page, YwOrderCntrVo vo);

    List<YwOrderCntrVo> getYwOrderCntrVoJson(Page<YwOrderCntrVo> page, YwOrderCntrVo vo);

    ResultUtil<Map<String, List<CntrImgFile>>> uploadCntrImgZipFile(MultipartFile cntrImgZipFile, YwOrderVo vo, String cntrUploadTempFolder, String cntrUploadFolder, String cntrAccessPath);

    void exportFile(HttpServletRequest request, HttpServletResponse response, String exportExcelPath);

    void exportFile1(HttpServletRequest request, HttpServletResponse response, String exportExcelPath);

    ResultUtil<T> delBatchCntrRet(YwOrderVo vo);

    ResultUtil<T> updateCntrById(YwOrderCntr cntr);

    ResultUtil<T> addCntrRet(YwOrderCntr cntr);

    void exportSgjFile(HttpServletRequest request, HttpServletResponse response, String exportExcelPath);

    ResultUtil<List<YwOrderCntrVo>> sgjCntrUpload(String orderNo, MultipartFile file);

    ResultUtil<T> importSgjCntrList(HttpServletRequest request,YwOrderVo vo);

    ResultUtil<List<YwOrderSgjVo>> sgjHzCntrUpload(String orderNo, MultipartFile file);

    ResultUtil<T> importSgjCntrShipList(HttpServletRequest request, Long id, List<YwOrderCntr> cntrList);

    List<YwOrderCntrVo> getCntrByShipName(Page<YwOrderCntrVo> page, YwOrderCntrVo vo);

    List<YwOrderCntrVo> getCntrByShip(YwOrderShipVo ywOrderShipVo);

    void exportSgjHzFile(HttpServletRequest request, HttpServletResponse response, String exportExcelHzPath);

    ResultUtil<List<YwOrderCntrVo>> cntrDdUpload(String orderNo, MultipartFile file);

    ResultUtil<T> updateOldCntrById(YwOrderCntr cntr);

    List<YwOrderCntrVo> getCntrListNoPage(YwOrderCntrVo vo);

    List<YwOrderCntrVo> getPowerCntrList(Page<YwOrderCntrVo> page, YwOrderCntrVo vo);

    ResultUtil<T> updateCntrFlow(YwOrderVo vo);

    ResultUtil<List<YwOrderCntrVo>> cntrYzsUpload(String orderNo, MultipartFile file);
    ResultUtil<List<YwOrderCntrVo>> cntrYzsUpload(String orderNo,String type, MultipartFile file);

    ResultUtil<List<YwOrderCntrVo>> cntrDdYzsUpload(String orderNo, MultipartFile file);

    YwOrderCntr getCntrByorderNoCntrNo(String orderNo, String cntrA);
}
